In this exercise, the focus will be on Onemap SG API and usign spatstat
Installing and importing Onemap SG API.
packages <- c('onemapsgapi')
for(p in packages){
if(!require(p, character.only = T)){
install.packages(p)
}
library(p, character.only = T)
}
Note: Need to put double quote for token and query name
In this in-class exercise, we will be using the following library:
packages <- c('maptools','sf','raster','spatstat','tmap','tidyverse')
for(p in packages){
if(!require(p, character.only = T)){
install.packages(p)
}
library(p, character.only = T)
}
sg_sf <- st_read(dsn="data/shapefile", layer="CostalOutline")
Reading layer `CostalOutline' from data source
`C:\Users\User\Desktop\IS415\lye-jia-wei\IS415_blog\_posts\2021-09-06-in-class-exercise-4\data\shapefile'
using driver `ESRI Shapefile'
Simple feature collection with 60 features and 4 fields
Geometry type: POLYGON
Dimension: XY
Bounding box: xmin: 2663.926 ymin: 16357.98 xmax: 56047.79 ymax: 50244.03
Projected CRS: SVY21
mpsz_sf <- st_read(dsn="data/shapefile",layer="MP14_SUBZONE_WEB_PL")
Reading layer `MP14_SUBZONE_WEB_PL' from data source
`C:\Users\User\Desktop\IS415\lye-jia-wei\IS415_blog\_posts\2021-09-06-in-class-exercise-4\data\shapefile'
using driver `ESRI Shapefile'
Simple feature collection with 323 features and 15 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: 2667.538 ymin: 15748.72 xmax: 56396.44 ymax: 50256.33
Projected CRS: SVY21
sg_sf <- st_read(dsn="data/shapefile", layer="CostalOutline")
Reading layer `CostalOutline' from data source
`C:\Users\User\Desktop\IS415\lye-jia-wei\IS415_blog\_posts\2021-09-06-in-class-exercise-4\data\shapefile'
using driver `ESRI Shapefile'
Simple feature collection with 60 features and 4 fields
Geometry type: POLYGON
Dimension: XY
Bounding box: xmin: 2663.926 ymin: 16357.98 xmax: 56047.79 ymax: 50244.03
Projected CRS: SVY21
mpsz_sf <- st_read(dsn="data/shapefile",layer="MP14_SUBZONE_WEB_PL")
Reading layer `MP14_SUBZONE_WEB_PL' from data source
`C:\Users\User\Desktop\IS415\lye-jia-wei\IS415_blog\_posts\2021-09-06-in-class-exercise-4\data\shapefile'
using driver `ESRI Shapefile'
Simple feature collection with 323 features and 15 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: 2667.538 ymin: 15748.72 xmax: 56396.44 ymax: 50256.33
Projected CRS: SVY21
childcare <- read_rds("C:/Users/User/Desktop/IS415/lye-jia-wei/IS415_blog/_posts/2021-09-06-in-class-exercise-4/data/rds/childcare.rds")
CHAS <- read_rds("C:/Users/User/Desktop/IS415/lye-jia-wei/IS415_blog/_posts/2021-09-06-in-class-exercise-4/data/rds/CHAS.rds")
CHAS_sf <- st_as_sf(CHAS, coords = c("X_COORDINATE","Y_COORDINATE"), crs=3414)
childcare$Lat <- as.numeric(childcare$Lat)
childcare$Lng <- as.numeric(childcare$Lng)
childcare_sf <- st_as_sf(childcare, coords= c("Lng","Lat"),crs=4326) %>% st_transform(crs=3414)
childcare <- as_Spatial(childcare_sf)
CHAS <- as_Spatial(CHAS_sf)
mpsz <- as_Spatial(mpsz_sf)
sg <- as_Spatial(sg_sf)
childcare_sp <- as(childcare, "SpatialPoints")
CHAS_sp <- as(CHAS, "SpatialPoints")
sg_sp <- as(sg, "SpatialPolygons")
childcare_ppp <- as(childcare_sp, "ppp")
CHAS_ppp<- as(CHAS_sp, "ppp")
tmap_mode("view")
tm_shape(childcare_sf) +
tm_dots(alpha=0.4, col= "blue", size=0.05) +
tm_shape(CHAS_sf) +
tm_dots(alpha=0.4, col="red", size=0.05)